import type {
  EntityApi,
  EntityReq,
  EntityModel,
  EntityPage,
  EntityTotal,
  EntityKey,
} from "jmash-core";

// 任务记录接口
export interface JobRecordApi extends EntityApi {}

// 任务记录查询
export interface JobRecordReq extends EntityReq {
  //  任务执行ID
  recordId?: string;
  //  任务名称
  jobName?: string;
  //  状态
  state?: boolean;
  //  是否包含状态
  hasState?: boolean;
  //  开始时间
  startDate?: string;
}

// 任务记录实体
export interface JobRecordModel extends EntityModel {
  //  任务执行ID
  recordId?: string;
  //  任务名称
  jobName?: string;
  //  开始时间
  startDate?: string;
  //  结束时间
  endDate?: string;
  //  错误信息
  errorMsg?: string;
  //  状态
  state?: boolean;
  //  执行时间
  executeTime?: number;
}

// 任务记录分页
export interface JobRecordPage extends EntityPage {
  // 当前页内容
  results: Array<JobRecordModel>;
  // 本页小计
  subTotalDto: JobRecordModelTotal;
  // 合计
  totalDto: JobRecordModelTotal;
}

// 合计
export interface JobRecordModelTotal extends EntityTotal {
  // 总记录数
  totalSize: number;
}

// 任务记录主键
export interface JobRecordKey extends EntityKey {
  // 租户
  tenant?: string;
  // 任务执行ID
  recordId?: string;
}
